package com.chen.springboot.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chen.springboot.dto.UserDto;
import com.chen.springboot.entity.User;

public interface UserService {

    /**
     *
     * @param user 用户注册
     */
    void register(User user);

    /**
     *
     * @param user 用户登录
     */
    UserDto login(User user);

    /**
     *
     * @param user 管理员登录
     */
    UserDto manageLogin(User user);

    /**
     *
     * @param user 新增方法
     */
    void save(User user);

    /**
     *
     * @param user 更新信息
     */
    void update(User user);

    /**
     *
     * @param id 删除信息
     */
    void delete(Long id);

    /**
     * 前后端的字段名不一定要一样，可以在前端传入数据的时候设置一下就可以了，只是比较麻烦，所以一般将实体的设置成一样
     * 请求分页数据
     * @param pageNum 当前页码
     * @param pageSize 每一页显示多少个数据
     * @param search 模糊搜索的关键词
     */
    Page<User> findPage(Integer pageNum, Integer pageSize, String search);
}
